Modern digital cameras for taking pictures of scenes and the like typically include an imaging device which is controlled by a computer running a software program. When an image is captured, the imaging device is exposed to light and generates raw image data representing the image. The raw image data is typically stored in a single image buffer where it is then processed and compressed by the processor. Many types of compression schemes are used to compress the image data, with the joint photographic expert group (JPEG) standard being the most popular. After the processor processes and compresses the raw image data into JPEG image files, the processor stores the JPEG image files into an internal memory or on an external memory card.
Some digital cameras are also equipped with a liquid-crystal display (LCD) or other type of display screen on the back of the camera. Through the use of the LCD, the processor can cause the digital camera to operate in one of two modes, play and record, although some cameras only have a record mode. In play mode, the LCD is used as a playback screen for allowing the user to review previously captured images either individually or in arrays of four, nine, or sixteen images. In record mode, the LCD is used as a viewfinder in which the user may view an object or scene before taking a picture.
Besides the LCD, digital camera user interfaces also include a number of buttons or switches for setting the camera into one of the two modes and for navigating between images in play mode. For example, most digital cameras include two buttons labeled “−” and “+” that enable a user to navigate or scroll through captured images. For example, if the user is reviewing images individually, meaning that single images are displayed full-sized in the LCD, pressing one of navigation buttons causes the currently displayed image to be replaced by the next image.
It should be noted that a digital camera has no “film”, and as such, there is no incremental cost of taking and storing pictures. Within the confines of memory, the cost taking and storing each additional picture is insignificant. For a given memory size, it is possible to take an unlimited number of pictures, wherein the most recent picture replaces the earliest picture, for virtually zero incremental cost. Accordingly, this advantage is best realized when the camera is used as much as possible, taking pictures of practically anything of interest.
One way to best utilize these unique attributes is to make the digital camera and its internally stored images remotely accessible. If the pictures are remotely accessible, the camera could be set to continuously take pictures of scenes/items of interest. Ideally, a user would be able to access those pictures at any time. The user would be able to use a widely available communications medium to access the camera from virtually an unlimited number of locations.
The emergence of the internet as a distributed, widely accessible communications medium provides a convenient avenue for implementing remote accessibility. Providing remote accessibility via the internet leverages the fact that the internet is becoming increasingly familiar to increasing numbers of people. Many users have become accustomed to retrieving information from remotely located systems via the internet. There are many and varied applications which presently use the internet to provide remote access or remote connectivity. Internet telephony is one such application, such as, for example, Microsoft's NetMeeting and Netscape's CoolTalk.
NetMeeting and CoolTalk are both real-time desktop audio conferencing and data collaboration software applications specifically designed to use the internet as their communications medium. Both software applications allow a “local” user to place a “call” to a “remote” user located anywhere in the world. With both NetMeeting and CoolTalk, the software application is hosted on a personal computer at the user's location and on a personal computer at the remote user's location. Both NetMeeting and CoolTalk require a SLIP (Serial Line Internet Protocol) or PPP (Point-to-Point Protocol) account where internet access is via a dial-up modem, where the user, as is typical, accesses the internet through their respective ISP (internet service provider). Both NetMeeting and CoolTalk require personal computers for the necessary resources for running the applications (e.g., processing power, memory, communications hardware, etc.). In addition, both NetMeeting and CoolTalk require the one user to input an IP (Internet Protocol) address for the other user in order to establish communication between them. To place a call, for example, the local user enters the IP address of the remote user in an appropriate field of the software application and subsequently initiates the call (e.g., by clicking a graphic icon on the personal computer's display), which in turn, establishes communication between the users.
To facilitate the process of obtaining appropriate internet addresses, CoolTalk, for example, allows on-line users to list their respective IP addresses with a proprietary central CoolTalk server. This allows a user to obtain a list of currently on-line users to whom communication can be established. Upon locating the desired remote user in the web server maintained internet address list, the local user places the call.
In this manner, the proprietary central CoolTalk server maintains a user viewable, user updated, “address book” in which users list their respective internet addresses and in which they search for the internet addresses of others with whom they wish to communicate. However, as described above, both NetMeeting and CoolTalk require active user input, in that each require the user to input his current internet address and in that each require the user to search the address book for the internet address of the individual to be contacted. This can be quite problematic in the case where users obtain access to the internet via dial-up connections, and hence, have different internet addresses each time their respective dial-up connections are established.
In a manner similar to internet telephony, internet desktop video conferencing is another application which uses the internet as its communications medium. One such application, for example, is CU-SeeMe, by White Pine. CU-SeeMe provides real time video conferencing between two or more users. As with NetMeeting and CoolTalk, CU-SeeMe is a software application which runs on both the local user's personal computer and the remote user's personal computer. The personal computers provide the resources for running the application. As with NetMeeting and CoolTalk, CU-SeeMe requires the local user to enter the IP address of the remote user. CU-SeeMe also facilitates this process by allowing on-line users to list their respective IP addresses with a proprietary central server such that the addresses can be easily indexed and searched.
Another example of remote access via the internet is status queries of remote devices using the internet as the communications medium. A typical prior art application involves interfacing a remote device with a computer system, and providing access to the computer system via the internet. For example, a vending machine can be remotely accessed to determine its status (e.g., the number of sales made, whether the machine needs refills, whether the machine needs maintenance, etc.). The machine is appropriately equipped with sensors, switches, and the like, which are in turn, interfaced to a computer system using a software driver. The computer system is coupled to the internet and interfaces with the machine through the driver, making the relevant information available over the internet using web server software. Hence, any interested user (e.g., the vending machine service company) is able to remotely ascertain the status of the machine via the internet.
The problem with the above described prior art applications is that access to the internet and communication thereon requires a separate host computer system (e.g., a personal computer). Each of the above described applications (CoolTalk, NetMeeting, and the vending machine examples) require a computer system on both sides of the internet connection. The two computer systems provide the computational resources to host the respective software application, the internet access software, and any necessary device drivers. Because of this, among other reasons, the above applications are not easily transferred to the realm of easy-to-use, intuitive, consumer electronic type devices such as digital cameras.; The separate computer systems are expensive.
Another problem is the fact that the above applications require the user to know the internet address of the person (or device, in the vending machine example) being contacted. The internet telephony applications (e.g., CoolTalk) often employ a user viewable, user updated, address book to facilitate the process of locating and obtaining the correct internet address, however, they require active user input. This is difficult in the case where users obtain access to the internet via dial-up connections, and thus, have changing internet addresses.
In addition, both CoolTalk and NetMeeting operate on top of the computer's operating system, which is notoriously difficult and obtuse to novice users.
Thus, what is required is an inexpensive method implementing remote access via the internet for digital cameras. If internet remote accessibility is relatively inexpensive, a large installed base of remotely accessible digital cameras will rapidly develop. This will give rise to many different applications and enhancements being developed, which in turn, will lead to even greater demand for, and use of, remotely accessible digital cameras. What is further required is an intuitive, easy to use interface for presenting the digital camera's functionality and capabilities to users. Additionally, what is required is an efficient, user transparent, process of obtaining the internet address of a digital camera, where the camera accesses the internet via a dial-up connection, and thus, has a changing internet address. The present invention provides a novel solution to the above requirements.